label: Remove a11y-only properties
authorTimm Bäder <mail@baedert.org>
Sun, 12 Apr 2020 08:40:21 +0000 (10:40 +0200)
committerTimm Bäder <mail@baedert.org>
Fri, 17 Apr 2020 13:21:00 +0000 (15:21 +0200)
Update them manually instead.

gtk/a11y/gtklabelaccessible.c
gtk/a11y/gtklabelaccessibleprivate.h
gtk/gtklabel.c

index da9f83f2929e01cecbb4ae395f0419221498d40d..9ac1cd5a13b241dcfb7bbba4dc1dc351eaaba98f 100644 (file)
@@ -399,32 +399,6 @@ check_for_selection_change (GtkLabelAccessible *accessible,
   return ret_val;
 }
 
-static void
-gtk_label_accessible_notify_gtk (GObject    *obj,
-                                 GParamSpec *pspec)
-{
-  GtkWidget *widget = GTK_WIDGET (obj);
-  AtkObject* atk_obj = gtk_widget_get_accessible (widget);
-  GtkLabelAccessible *accessible;
-
-  accessible = GTK_LABEL_ACCESSIBLE (atk_obj);
-
-  if (g_strcmp0 (pspec->name, "cursor-position") == 0)
-    {
-      g_signal_emit_by_name (atk_obj, "text-caret-moved",
-                             _gtk_label_get_cursor_position (GTK_LABEL (widget)));
-      if (check_for_selection_change (accessible, GTK_LABEL (widget)))
-        g_signal_emit_by_name (atk_obj, "text-selection-changed");
-    }
-  else if (g_strcmp0 (pspec->name, "selection-bound") == 0)
-    {
-      if (check_for_selection_change (accessible, GTK_LABEL (widget)))
-        g_signal_emit_by_name (atk_obj, "text-selection-changed");
-    }
-  else
-    GTK_WIDGET_ACCESSIBLE_CLASS (gtk_label_accessible_parent_class)->notify_gtk (obj, pspec);
-}
-
 /* atkobject.h */
 
 static AtkStateSet *
@@ -574,7 +548,6 @@ gtk_label_accessible_class_init (GtkLabelAccessibleClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-  GtkWidgetAccessibleClass *widget_class = GTK_WIDGET_ACCESSIBLE_CLASS (klass);
 
   object_class->finalize = gtk_label_accessible_finalize;
 
@@ -585,12 +558,39 @@ gtk_label_accessible_class_init (GtkLabelAccessibleClass *klass)
 
   class->get_n_children = gtk_label_accessible_get_n_children;
   class->ref_child = gtk_label_accessible_ref_child;
-
-  widget_class->notify_gtk = gtk_label_accessible_notify_gtk;
 }
 
 /* 'Public' API {{{2 */
 
+
+void
+_gtk_label_accessible_selection_bound_changed (GtkLabel *label)
+{
+  AtkObject *obj;
+
+  obj = _gtk_widget_peek_accessible (GTK_WIDGET (label));
+  if (obj == NULL)
+    return;
+
+  if (check_for_selection_change (GTK_LABEL_ACCESSIBLE (obj), label))
+    g_signal_emit_by_name (obj, "text-selection-changed");
+}
+
+void
+_gtk_label_accessible_cursor_position_changed (GtkLabel *label)
+{
+  AtkObject *obj;
+
+  obj = _gtk_widget_peek_accessible (GTK_WIDGET (label));
+  if (obj == NULL)
+    return;
+
+  g_signal_emit_by_name (obj, "text-caret-moved", _gtk_label_get_cursor_position (label));
+
+  if (check_for_selection_change (GTK_LABEL_ACCESSIBLE (obj), label))
+    g_signal_emit_by_name (obj, "text-selection-changed");
+}
+
 void
 _gtk_label_accessible_text_deleted (GtkLabel *label)
 {
index a4c61c2461dc5429715d16e3700db1db420beb0e..bd8e8ca0cbb8e556f2c60c19c01235785b8c3ca7 100644 (file)
@@ -26,6 +26,8 @@ void _gtk_label_accessible_text_deleted  (GtkLabel *label);
 void _gtk_label_accessible_text_inserted (GtkLabel *label);
 void _gtk_label_accessible_update_links  (GtkLabel *label);
 void _gtk_label_accessible_focus_link_changed (GtkLabel *label);
+void _gtk_label_accessible_selection_bound_changed (GtkLabel *label);
+void _gtk_label_accessible_cursor_position_changed (GtkLabel *label);
 
 G_END_DECLS
 
index 9d90c06f4cf21e573d0aff6c24c67881401203ee..cf11967b8f22678e949d23ac18021c6e479617db 100644 (file)
@@ -397,8 +397,6 @@ enum {
   PROP_SELECTABLE,
   PROP_MNEMONIC_KEYVAL,
   PROP_MNEMONIC_WIDGET,
-  PROP_CURSOR_POSITION,
-  PROP_SELECTION_BOUND,
   PROP_ELLIPSIZE,
   PROP_WIDTH_CHARS,
   PROP_SINGLE_LINE_MODE,
@@ -876,22 +874,6 @@ gtk_label_class_init (GtkLabelClass *class)
                            GTK_TYPE_WIDGET,
                            GTK_PARAM_READWRITE);
 
-  label_props[PROP_CURSOR_POSITION] =
-      g_param_spec_int ("cursor-position",
-                        P_("Cursor Position"),
-                        P_("The current position of the insertion cursor in chars"),
-                        0, G_MAXINT,
-                        0,
-                        GTK_PARAM_READABLE);
-
-  label_props[PROP_SELECTION_BOUND] =
-      g_param_spec_int ("selection-bound",
-                        P_("Selection Bound"),
-                        P_("The position of the opposite end of the selection from the cursor in chars"),
-                        0, G_MAXINT,
-                        0,
-                        GTK_PARAM_READABLE);
-
   /**
    * GtkLabel:ellipsize:
    *
@@ -1269,12 +1251,6 @@ gtk_label_get_property (GObject     *object,
     case PROP_MNEMONIC_WIDGET:
       g_value_set_object (value, (GObject*) priv->mnemonic_widget);
       break;
-    case PROP_CURSOR_POSITION:
-      g_value_set_int (value, _gtk_label_get_cursor_position (label));
-      break;
-    case PROP_SELECTION_BOUND:
-      g_value_set_int (value, _gtk_label_get_selection_bound (label));
-      break;
     case PROP_ELLIPSIZE:
       g_value_set_enum (value, priv->ellipsize);
       break;
@@ -4775,8 +4751,8 @@ gtk_label_set_selectable (GtkLabel *label,
     {
       g_object_freeze_notify (G_OBJECT (label));
       g_object_notify_by_pspec (G_OBJECT (label), label_props[PROP_SELECTABLE]);
-      g_object_notify_by_pspec (G_OBJECT (label), label_props[PROP_CURSOR_POSITION]);
-      g_object_notify_by_pspec (G_OBJECT (label), label_props[PROP_SELECTION_BOUND]);
+      _gtk_label_accessible_selection_bound_changed (label);
+      _gtk_label_accessible_cursor_position_changed (label);
       g_object_thaw_notify (G_OBJECT (label));
       gtk_widget_queue_draw (GTK_WIDGET (label));
     }
@@ -4874,9 +4850,9 @@ gtk_label_select_region_index (GtkLabel *label,
       g_object_freeze_notify (G_OBJECT (label));
 
       if (priv->select_info->selection_anchor != anchor_index)
-        g_object_notify_by_pspec (G_OBJECT (label), label_props[PROP_SELECTION_BOUND]);
+        _gtk_label_accessible_selection_bound_changed (label);
       if (priv->select_info->selection_end != end_index)
-        g_object_notify_by_pspec (G_OBJECT (label), label_props[PROP_CURSOR_POSITION]);
+        _gtk_label_accessible_cursor_position_changed (label);
 
       priv->select_info->selection_anchor = anchor_index;
       priv->select_info->selection_end = end_index;